// 封装所有与用户相关的网络请求
import myhttp from '../utils/myhttp'

// 封装一个登录方法
export function apiLogin ({ mobile, code }) {
  return myhttp({
    url: '/authorizations',
    method: 'POST',
    data: {
      mobile: mobile,
      code: code
    }
  })
}

// 封装一个拉黑作者的方法
export function apiBlackList (autid) {
  return myhttp({
    url: '/user/blacklists',
    method: 'POST',
    data: {
      target: autid
    }
  })
}

// 封装一个关注用户的方法
export function apiFollow (autid) {
  return myhttp({
    url: '/user/followings',
    method: 'POST',
    data: {
      target: autid
    }
  })
}

// 封装一个取关用户的方法
export function apiUnFollow (autid) {
  return myhttp({
    url: `/user/followings/${autid}`,
    method: 'DELETE'
  })
}

// 封装一个得到用户自己信息的方法
export function apiGetUser () {
  return myhttp({
    url: '/user'
  })
}

// 封装一个得到用户个人资料的方法
export function apiGetprofile () {
  return myhttp({
    url: '/user/profile'
  })
}

// 封装一个用来修改人个资料的方法
export function apiUpdateprofile ({ name, gender, birthday, intro }) {
  return myhttp({
    url: '/user/profile',
    method: 'PATCH',
    data: {
      name: name,
      gender: gender,
      birthday: birthday,
      intro: intro
    }
  })
}

// 封装一个上传用户头像的方法
export function apiUploadPhoto (photo) {
  // 将头像放到 formData 中
  var fd = new FormData()
  // 添加参数
  fd.append('photo', photo)
  return myhttp({
    url: '/user/photo',
    method: 'PATCH',
    data: fd
  })
}
